﻿/*
 * Created by SharpDevelop.
 * User: Miguel
 * Date: 06/11/2011
 * Time: 03:42 p.m.
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Collections.Generic;
using Business_Entity;
using Business_Logic;

namespace PetSoft.GUI.Compras
{
	/// <summary>
	/// Description of GUILineaPedidoCompra.
	/// </summary>
	/// 
	
	public partial class GUILineaPedidoCompra : Form
	{
		private DataGridView guiPC;
		private List<BEProveedor> lstProveedor;
		private GUIPedidoCompra guiPed;
		private BLProveedor blProveedor;
		private int seleccion;
		public GUILineaPedidoCompra(int opcion)
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			try{
				InitializeComponent();
				seleccion=opcion;
				ListaProveedoresDGV.AllowUserToAddRows=false;
			}catch(Exception ex){
				Utils.MessageError("",ex);
			}
			//
			// TODO: Add constructor code after the InitializeComponent() call.
			//
		}
		public GUILineaPedidoCompra(int opcion,DataGridView gui,GUIPedidoCompra guiP)
		{
			try{
				InitializeComponent();
				//lstLPC=lstped;
				seleccion=opcion;
				guiPC=gui;
				guiPed=guiP;
				this.MaximizeBox=false;
	            this.MinimizeBox=false;
	            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
				CantidadRecibidaTB.Enabled=false;
				CantidadSolicitadaTB.Enabled=false;
				CantidadRecepcionadaTB.Enabled=false;
				ListaProveedoresDGV.Enabled=false;
				this.Text="Detalle Linea Pedido Compra";
				ListaProveedoresDGV.AllowUserToAddRows=false;
				CantidadRecepcionadaTB.KeyPress+=new KeyPressEventHandler(Utils.SoloNumerosTB);
				CantidadRecibidaTB.KeyPress+=new KeyPressEventHandler(Utils.SoloNumerosTB);
				CantidadSolicitadaTB.KeyPress+=new KeyPressEventHandler(Utils.SoloNumerosTB);
				
				ListaProveedoresDGV.Enabled=true;
				if (seleccion<=1){
					CantidadSolicitadaTB.Enabled=true;				
				}
				if (seleccion==2){
					CantidadRecepcionadaTB.Enabled=true;
				}
				if (seleccion==3){
					CantidadRecibidaTB.Enabled=true;
				}
				if (seleccion>4){
					CantidadSolicitadaTB.Enabled=true;
				    CantidadRecepcionadaTB.Enabled=true;
					CantidadRecibidaTB.Enabled=true;				
				}
				
				CargarDatos();
			}catch(Exception ex){
				Utils.MessageError("",ex);
			}
		}
		
		void GUILineaPedidoCompraLoad(object sender, EventArgs e)
		{
			//CargarDatos();
		}
		void CargarDatos(){
			try{
				int fila=guiPC.CurrentRow.Index;
				String cadena="";
				CodigoProductoTB.Text=guiPC[0,fila].Value.ToString();
				NombreTB.Text=guiPC[1,fila].Value.ToString();
				TipoProductoTB.Text=guiPC[2,fila].Value.ToString();
				DescripcionTB.Text=guiPC[3,fila].Value.ToString();
				if ((guiPC[4,fila].Value==null) || (guiPC[4,fila].Value.ToString().CompareTo("")==0)){cadena="";}
				else{cadena=guiPC[4,fila].Value.ToString();}
				ProveedorTB.Text=cadena;
				CantidadSolicitadaTB.Text=guiPC[5,fila].Value.ToString();
				CantidadRecepcionadaTB.Text=guiPC[6,fila].Value.ToString();
				CantidadRecibidaTB.Text=guiPC[7,fila].Value.ToString();
				blProveedor=new BLProveedor();
				lstProveedor=new List<BEProveedor>();
				lstProveedor=blProveedor.getProvxproducto(int.Parse(CodigoProductoTB.Text));
				int tamano=lstProveedor.Count;
				int k=0;
				while (k<tamano)
				{
					
					BEProveedor bep=new BEProveedor();
					bep=lstProveedor[k];
					k++;
					ListaProveedoresDGV.Rows.Add(new object[] { bep.IdProv,bep.RazonSocial,bep.Ruc,bep.Contacto,k});
	                       
				}
				CantidadProveedoresLBL.Text="Cantida de Proveedores : "+lstProveedor.Count;
			}catch(Exception ex){
				Utils.MessageError("",ex);
			}
			//ListaProveedoresDGV.Enabled=false;
		}
		
		
		
		void AceptarBTNClick(object sender, EventArgs e)
		{
			try{
				if (CantidadRecibidaTB.Text.CompareTo("")==0)
				{CantidadRecibidaTB.Text="0";}
				if (CantidadSolicitadaTB.Text.CompareTo("")==0)
				{CantidadSolicitadaTB.Text="0";}
				if (CantidadRecepcionadaTB.Text.CompareTo("")==0)
				{CantidadRecepcionadaTB.Text="0";}
				int fila=guiPC.CurrentRow.Index;
				int cs=int.Parse(CantidadSolicitadaTB.Text);
				int cr=int.Parse(CantidadRecepcionadaTB.Text);
				int crec=int.Parse(CantidadRecibidaTB.Text);
				guiPC[4,fila].Value=ProveedorTB.Text;
				guiPC[5,fila].Value=cs.ToString();
				guiPC[6,fila].Value=cr.ToString();
				guiPC[7,fila].Value=crec.ToString();
				int cont=ListaProveedoresDGV.CurrentRow.Index;
				int cant=guiPC.CurrentRow.Index;
				int ind=(int)guiPC[8,cant].Value;
				List<BELineaPedidoCompra> lstPedido;
				ind--;
				lstPedido=guiPed.lstPedidoCompra;
				lstPedido[ind].Proveedor.RazonSocial=ProveedorTB.Text;
				lstPedido[ind].Proveedor.IdProv=(int)ListaProveedoresDGV[0,cont].Value;
				lstPedido[ind].CantidadSolicitada=int.Parse(CantidadSolicitadaTB.Text);
				lstPedido[ind].CantidadRecepcionada=int.Parse(CantidadRecepcionadaTB.Text);
				lstPedido[ind].CantidadRecibida=int.Parse(CantidadRecibidaTB.Text);
				this.Close();
			}catch(Exception ex){
				Utils.MessageError("",ex);
			}
		}
		
		
		void ListaProveedoresDGVCellClick(object sender, DataGridViewCellEventArgs e)
		{
			try{
				if (ListaProveedoresDGV.Rows.Count>0){
					int fil=ListaProveedoresDGV.CurrentRow.Index;
					ProveedorTB.Text=ListaProveedoresDGV[1,fil].Value.ToString();
					
				}
			}catch(Exception ex){
				Utils.MessageError("",ex);
			}
		}
		
		void CantidadSolicitadaTBKeyPress(object sender, KeyPressEventArgs e)
		{
			Utils.DecimalesPuntoTB(sender,e);
		}
		
		void CantidadRecepcionadaTBKeyPress(object sender, KeyPressEventArgs e)
		{
			Utils.DecimalesPuntoTB(sender,e);
		}
		
		void CantidadRecibidaTBKeyPress(object sender, KeyPressEventArgs e)
		{
			Utils.DecimalesPuntoTB(sender,e);
		}
	}
}
